

namespace bit
{
	template<class iterator,class Poi,class Ref>
	class Reverse_iterator
	{
	public:
	
		Reverse_iterator(iterator it1)
			:it(it1)
		{}

		Ref operator*()
		{
			iterator tmp = it;
			return *(--it);
		}
		iterator operator++()
		 {
			 return --it;
		 }
		iterator operator--()
		 {
			 return ++it;
		 }
		Poi operator->()
		{
			iterator tmp = it;
			return &(*(--it));
		}
		bool operator!=(const Reverse_iterator<iterator,Poi,Ref> s)
		{
			return it != s.it;
		}

		iterator it;
	};
}
